<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><link rel="stylesheet" type="text/css" href="style.css" /><script type="text/javascript" src="highlight.js"></script></head><body><pre><span class="hs-pragma">{-# LANGUAGE FlexibleContexts #-}</span><span>
</span><span id="line-2"></span><span class="hs-pragma">{-# LANGUAGE RankNTypes #-}</span><span>
</span><span id="line-3"></span><span>
</span><span id="line-4"></span><span class="hs-comment">-----------------------------------------------------------------------------</span><span>
</span><span id="line-5"></span><span class="hs-comment">-- |</span><span>
</span><span id="line-6"></span><span class="hs-comment">-- Module      :  Distribution.Simple.Install</span><span>
</span><span id="line-7"></span><span class="hs-comment">-- Copyright   :  Isaac Jones 2003-2004</span><span>
</span><span id="line-8"></span><span class="hs-comment">-- License     :  BSD3</span><span>
</span><span id="line-9"></span><span class="hs-comment">--</span><span>
</span><span id="line-10"></span><span class="hs-comment">-- Maintainer  :  cabal-devel@haskell.org</span><span>
</span><span id="line-11"></span><span class="hs-comment">-- Portability :  portable</span><span>
</span><span id="line-12"></span><span class="hs-comment">--</span><span>
</span><span id="line-13"></span><span class="hs-comment">-- This is the entry point into installing a built package. Performs the</span><span>
</span><span id="line-14"></span><span class="hs-comment">-- \&quot;@.\/setup install@\&quot; and \&quot;@.\/setup copy@\&quot; actions. It moves files into</span><span>
</span><span id="line-15"></span><span class="hs-comment">-- place based on the prefix argument. It does the generic bits and then calls</span><span>
</span><span id="line-16"></span><span class="hs-comment">-- compiler-specific functions to do the rest.</span><span>
</span><span id="line-17"></span><span>
</span><span id="line-18"></span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">Distribution.Simple.Install</span><span> </span><span class="hs-special">(</span><span>
</span><span id="line-19"></span><span>        </span><span class="annot"><a href="Distribution.Simple.Install.html#install"><span class="hs-identifier">install</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-20"></span><span>  </span><span class="hs-special">)</span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-21"></span><span>
</span><span id="line-22"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../base/src/Prelude.html#"><span class="hs-identifier">Prelude</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-23"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Compat.Prelude.html"><span class="hs-identifier">Distribution.Compat.Prelude</span></a></span><span>
</span><span id="line-24"></span><span>
</span><span id="line-25"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Types.TargetInfo.html"><span class="hs-identifier">Distribution.Types.TargetInfo</span></a></span><span>
</span><span id="line-26"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Types.LocalBuildInfo.html"><span class="hs-identifier">Distribution.Types.LocalBuildInfo</span></a></span><span>
</span><span id="line-27"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Types.ForeignLib.html"><span class="hs-identifier">Distribution.Types.ForeignLib</span></a></span><span>
</span><span id="line-28"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Types.PackageDescription.html"><span class="hs-identifier">Distribution.Types.PackageDescription</span></a></span><span>
</span><span id="line-29"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Types.UnqualComponentName.html"><span class="hs-identifier">Distribution.Types.UnqualComponentName</span></a></span><span>
</span><span id="line-30"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Types.ExecutableScope.html"><span class="hs-identifier">Distribution.Types.ExecutableScope</span></a></span><span>
</span><span id="line-31"></span><span>
</span><span id="line-32"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Package.html"><span class="hs-identifier">Distribution.Package</span></a></span><span>
</span><span id="line-33"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.PackageDescription.html"><span class="hs-identifier">Distribution.PackageDescription</span></a></span><span>
</span><span id="line-34"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Simple.LocalBuildInfo.html"><span class="hs-identifier">Distribution.Simple.LocalBuildInfo</span></a></span><span>
</span><span id="line-35"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Simple.BuildPaths.html"><span class="hs-identifier">Distribution.Simple.BuildPaths</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Simple.BuildPaths.html#haddockName"><span class="hs-identifier">haddockName</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Distribution.Simple.BuildPaths.html#haddockPref"><span class="hs-identifier">haddockPref</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-36"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Simple.Glob.html"><span class="hs-identifier">Distribution.Simple.Glob</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Simple.Glob.html#matchDirFileGlob"><span class="hs-identifier">matchDirFileGlob</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-37"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Simple.Utils.html"><span class="hs-identifier">Distribution.Simple.Utils</span></a></span><span>
</span><span id="line-38"></span><span>         </span><span class="hs-special">(</span><span> </span><span class="annot"><a href="Distribution.Simple.Utils.html#createDirectoryIfMissingVerbose"><span class="hs-identifier">createDirectoryIfMissingVerbose</span></a></span><span>
</span><span id="line-39"></span><span>         </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Distribution.Simple.Utils.html#installDirectoryContents"><span class="hs-identifier">installDirectoryContents</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Distribution.Simple.Utils.html#installOrdinaryFile"><span class="hs-identifier">installOrdinaryFile</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Distribution.Simple.Utils.html#isInSearchPath"><span class="hs-identifier">isInSearchPath</span></a></span><span>
</span><span id="line-40"></span><span>         </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Distribution.Simple.Utils.html#die%27"><span class="hs-identifier">die'</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Distribution.Simple.Utils.html#info"><span class="hs-identifier">info</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Distribution.Simple.Utils.html#noticeNoWrap"><span class="hs-identifier">noticeNoWrap</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Distribution.Simple.Utils.html#warn"><span class="hs-identifier">warn</span></a></span><span> </span><span class="hs-special">)</span><span>
</span><span id="line-41"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Simple.Compiler.html"><span class="hs-identifier">Distribution.Simple.Compiler</span></a></span><span>
</span><span id="line-42"></span><span>         </span><span class="hs-special">(</span><span> </span><span class="annot"><a href="Distribution.Compiler.html#CompilerFlavor"><span class="hs-identifier">CompilerFlavor</span></a></span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Distribution.Simple.Compiler.html#compilerFlavor"><span class="hs-identifier">compilerFlavor</span></a></span><span> </span><span class="hs-special">)</span><span>
</span><span id="line-43"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Simple.Setup.html"><span class="hs-identifier">Distribution.Simple.Setup</span></a></span><span>
</span><span id="line-44"></span><span>         </span><span class="hs-special">(</span><span> </span><span class="annot"><a href="Distribution.Simple.Setup.html#CopyFlags"><span class="hs-identifier">CopyFlags</span></a></span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Distribution.Simple.Flag.html#fromFlag"><span class="hs-identifier">fromFlag</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Distribution.Simple.Setup.html#HaddockTarget"><span class="hs-identifier">HaddockTarget</span></a></span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Simple.Setup.html#ForDevelopment"><span class="hs-identifier">ForDevelopment</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">)</span><span>
</span><span id="line-45"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Simple.BuildTarget.html"><span class="hs-identifier">Distribution.Simple.BuildTarget</span></a></span><span>
</span><span id="line-46"></span><span>
</span><span id="line-47"></span><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="annot"><a href="Distribution.Simple.GHC.html"><span class="hs-identifier">Distribution.Simple.GHC</span></a></span><span>   </span><span class="hs-keyword">as</span><span> </span><span class="annot"><span class="hs-identifier">GHC</span></span><span>
</span><span id="line-48"></span><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="annot"><a href="Distribution.Simple.GHCJS.html"><span class="hs-identifier">Distribution.Simple.GHCJS</span></a></span><span> </span><span class="hs-keyword">as</span><span> </span><span class="annot"><span class="hs-identifier">GHCJS</span></span><span>
</span><span id="line-49"></span><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="annot"><a href="Distribution.Simple.UHC.html"><span class="hs-identifier">Distribution.Simple.UHC</span></a></span><span>   </span><span class="hs-keyword">as</span><span> </span><span class="annot"><span class="hs-identifier">UHC</span></span><span>
</span><span id="line-50"></span><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="annot"><a href="Distribution.Simple.HaskellSuite.html"><span class="hs-identifier">Distribution.Simple.HaskellSuite</span></a></span><span> </span><span class="hs-keyword">as</span><span> </span><span class="annot"><span class="hs-identifier">HaskellSuite</span></span><span>
</span><span id="line-51"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Compat.Graph.html"><span class="hs-identifier">Distribution.Compat.Graph</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Compat.Graph.html#IsNode"><span class="hs-identifier">IsNode</span></a></span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-52"></span><span>
</span><span id="line-53"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../directory/src/System.Directory.html#"><span class="hs-identifier">System.Directory</span></a></span><span>
</span><span id="line-54"></span><span>         </span><span class="hs-special">(</span><span> </span><span class="annot"><a href="../../directory/src/System.Directory.html#doesDirectoryExist"><span class="hs-identifier">doesDirectoryExist</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../directory/src/System.Directory.html#doesFileExist"><span class="hs-identifier">doesFileExist</span></a></span><span> </span><span class="hs-special">)</span><span>
</span><span id="line-55"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../filepath/src/System.FilePath.html#"><span class="hs-identifier">System.FilePath</span></a></span><span>
</span><span id="line-56"></span><span>         </span><span class="hs-special">(</span><span> </span><span class="annot"><a href="../../filepath/src/System.FilePath.Windows.html#takeFileName"><span class="hs-identifier">takeFileName</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../filepath/src/System.FilePath.Windows.html#takeDirectory"><span class="hs-identifier">takeDirectory</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../filepath/src/System.FilePath.Windows.html#%3C%2F%3E"><span class="hs-operator">(&lt;/&gt;)</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../filepath/src/System.FilePath.Windows.html#isRelative"><span class="hs-identifier">isRelative</span></a></span><span> </span><span class="hs-special">)</span><span>
</span><span id="line-57"></span><span>
</span><span id="line-58"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Verbosity.html"><span class="hs-identifier">Distribution.Verbosity</span></a></span><span>
</span><span id="line-59"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Pretty.html"><span class="hs-identifier">Distribution.Pretty</span></a></span><span>
</span><span id="line-60"></span><span>         </span><span class="hs-special">(</span><span> </span><span class="annot"><a href="Distribution.Pretty.html#prettyShow"><span class="hs-identifier">prettyShow</span></a></span><span> </span><span class="hs-special">)</span><span>
</span><span id="line-61"></span><span>
</span><span id="line-62"></span><span class="hs-comment">-- |Perform the \&quot;@.\/setup install@\&quot; and \&quot;@.\/setup copy@\&quot;</span><span>
</span><span id="line-63"></span><span class="hs-comment">-- actions.  Move files into place based on the prefix argument.</span><span>
</span><span id="line-64"></span><span class="hs-comment">--</span><span>
</span><span id="line-65"></span><span class="hs-comment">-- This does NOT register libraries, you should call 'register'</span><span>
</span><span id="line-66"></span><span class="hs-comment">-- to do that.</span><span>
</span><span id="line-67"></span><span>
</span><span id="line-68"></span><span class="annot"><a href="Distribution.Simple.Install.html#install"><span class="hs-identifier hs-type">install</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Types.PackageDescription.html#PackageDescription"><span class="hs-identifier hs-type">PackageDescription</span></a></span><span> </span><span class="hs-comment">-- ^information from the .cabal file</span><span>
</span><span id="line-69"></span><span>        </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.LocalBuildInfo.html#LocalBuildInfo"><span class="hs-identifier hs-type">LocalBuildInfo</span></a></span><span> </span><span class="hs-comment">-- ^information from the configure step</span><span>
</span><span id="line-70"></span><span>        </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Simple.Setup.html#CopyFlags"><span class="hs-identifier hs-type">CopyFlags</span></a></span><span> </span><span class="hs-comment">-- ^flags sent to copy or install</span><span>
</span><span id="line-71"></span><span>        </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">IO</span></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-72"></span><span id="install"><span class="annot"><span class="annottext">install :: PackageDescription -&gt; LocalBuildInfo -&gt; CopyFlags -&gt; IO ()
</span><a href="Distribution.Simple.Install.html#install"><span class="hs-identifier hs-var hs-var">install</span></a></span></span><span> </span><span id="local-6989586621679721225"><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679721225"><span class="hs-identifier hs-var">pkg_descr</span></a></span></span><span> </span><span id="local-6989586621679721224"><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679721224"><span class="hs-identifier hs-var">lbi</span></a></span></span><span> </span><span id="local-6989586621679721223"><span class="annot"><span class="annottext">CopyFlags
</span><a href="#local-6989586621679721223"><span class="hs-identifier hs-var">flags</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-73"></span><span>  </span><span class="annot"><span class="annottext">IO ()
</span><a href="#local-6989586621679721222"><span class="hs-identifier hs-var">checkHasLibsOrExes</span></a></span><span>
</span><span id="line-74"></span><span>  </span><span id="local-6989586621679721221"><span class="annot"><span class="annottext">[TargetInfo]
</span><a href="#local-6989586621679721221"><span class="hs-identifier hs-var">targets</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Verbosity
-&gt; PackageDescription
-&gt; LocalBuildInfo
-&gt; [String]
-&gt; IO [TargetInfo]
</span><a href="Distribution.Simple.BuildTarget.html#readTargetInfos"><span class="hs-identifier hs-var">readTargetInfos</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679721219"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679721225"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679721224"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">CopyFlags -&gt; [String]
</span><a href="Distribution.Simple.Setup.html#copyArgs"><span class="hs-identifier hs-var hs-var">copyArgs</span></a></span><span> </span><span class="annot"><span class="annottext">CopyFlags
</span><a href="#local-6989586621679721223"><span class="hs-identifier hs-var">flags</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-75"></span><span>
</span><span id="line-76"></span><span>  </span><span class="annot"><span class="annottext">Verbosity
-&gt; PackageDescription
-&gt; LocalBuildInfo
-&gt; String
-&gt; CopyDest
-&gt; IO ()
</span><a href="Distribution.Simple.Install.html#copyPackage"><span class="hs-identifier hs-var">copyPackage</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679721219"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679721225"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679721224"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721216"><span class="hs-identifier hs-var">distPref</span></a></span><span> </span><span class="annot"><span class="annottext">CopyDest
</span><a href="#local-6989586621679721215"><span class="hs-identifier hs-var">copydest</span></a></span><span>
</span><span id="line-77"></span><span>
</span><span id="line-78"></span><span>  </span><span class="hs-comment">-- It's not necessary to do these in build-order, but it's harmless</span><span>
</span><span id="line-79"></span><span>  </span><span class="annot"><span class="annottext">PackageDescription
-&gt; LocalBuildInfo -&gt; [UnitId] -&gt; (TargetInfo -&gt; IO ()) -&gt; IO ()
</span><a href="Distribution.Types.LocalBuildInfo.html#withNeededTargetsInBuildOrder%27"><span class="hs-identifier hs-var">withNeededTargetsInBuildOrder'</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679721225"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679721224"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(TargetInfo -&gt; UnitId) -&gt; [TargetInfo] -&gt; [UnitId]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="annot"><span class="annottext">TargetInfo -&gt; UnitId
forall a. IsNode a =&gt; a -&gt; Key a
</span><a href="Distribution.Compat.Graph.html#nodeKey"><span class="hs-identifier hs-var">nodeKey</span></a></span><span> </span><span class="annot"><span class="annottext">[TargetInfo]
</span><a href="#local-6989586621679721221"><span class="hs-identifier hs-var">targets</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">((TargetInfo -&gt; IO ()) -&gt; IO ()) -&gt; (TargetInfo -&gt; IO ()) -&gt; IO ()
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679721212"><span class="annot"><span class="annottext">TargetInfo
</span><a href="#local-6989586621679721212"><span class="hs-identifier hs-var">target</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
</span><span id="line-80"></span><span>    </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679721211"><span class="annot"><span class="annottext">comp :: Component
</span><a href="#local-6989586621679721211"><span class="hs-identifier hs-var hs-var">comp</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">TargetInfo -&gt; Component
</span><a href="Distribution.Types.TargetInfo.html#targetComponent"><span class="hs-identifier hs-var hs-var">targetComponent</span></a></span><span> </span><span class="annot"><span class="annottext">TargetInfo
</span><a href="#local-6989586621679721212"><span class="hs-identifier hs-var">target</span></a></span><span>
</span><span id="line-81"></span><span>        </span><span id="local-6989586621679721209"><span class="annot"><span class="annottext">clbi :: ComponentLocalBuildInfo
</span><a href="#local-6989586621679721209"><span class="hs-identifier hs-var hs-var">clbi</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">TargetInfo -&gt; ComponentLocalBuildInfo
</span><a href="Distribution.Types.TargetInfo.html#targetCLBI"><span class="hs-identifier hs-var hs-var">targetCLBI</span></a></span><span> </span><span class="annot"><span class="annottext">TargetInfo
</span><a href="#local-6989586621679721212"><span class="hs-identifier hs-var">target</span></a></span><span>
</span><span id="line-82"></span><span>    </span><span class="hs-keyword">in</span><span> </span><span class="annot"><span class="annottext">Verbosity
-&gt; PackageDescription
-&gt; LocalBuildInfo
-&gt; Component
-&gt; ComponentLocalBuildInfo
-&gt; CopyDest
-&gt; IO ()
</span><a href="Distribution.Simple.Install.html#copyComponent"><span class="hs-identifier hs-var">copyComponent</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679721219"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679721225"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679721224"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">Component
</span><a href="#local-6989586621679721211"><span class="hs-identifier hs-var">comp</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679721209"><span class="hs-identifier hs-var">clbi</span></a></span><span> </span><span class="annot"><span class="annottext">CopyDest
</span><a href="#local-6989586621679721215"><span class="hs-identifier hs-var">copydest</span></a></span><span>
</span><span id="line-83"></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-84"></span><span>  </span><span id="local-6989586621679721216"><span class="annot"><span class="annottext">distPref :: String
</span><a href="#local-6989586621679721216"><span class="hs-identifier hs-var hs-var">distPref</span></a></span></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Flag String -&gt; String
forall a. WithCallStack (Flag a -&gt; a)
</span><a href="Distribution.Simple.Flag.html#fromFlag"><span class="hs-identifier hs-var">fromFlag</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">CopyFlags -&gt; Flag String
</span><a href="Distribution.Simple.Setup.html#copyDistPref"><span class="hs-identifier hs-var hs-var">copyDistPref</span></a></span><span> </span><span class="annot"><span class="annottext">CopyFlags
</span><a href="#local-6989586621679721223"><span class="hs-identifier hs-var">flags</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-85"></span><span>  </span><span id="local-6989586621679721219"><span class="annot"><span class="annottext">verbosity :: Verbosity
</span><a href="#local-6989586621679721219"><span class="hs-identifier hs-var hs-var">verbosity</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Flag Verbosity -&gt; Verbosity
forall a. WithCallStack (Flag a -&gt; a)
</span><a href="Distribution.Simple.Flag.html#fromFlag"><span class="hs-identifier hs-var">fromFlag</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">CopyFlags -&gt; Flag Verbosity
</span><a href="Distribution.Simple.Setup.html#copyVerbosity"><span class="hs-identifier hs-var hs-var">copyVerbosity</span></a></span><span> </span><span class="annot"><span class="annottext">CopyFlags
</span><a href="#local-6989586621679721223"><span class="hs-identifier hs-var">flags</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-86"></span><span>  </span><span id="local-6989586621679721215"><span class="annot"><span class="annottext">copydest :: CopyDest
</span><a href="#local-6989586621679721215"><span class="hs-identifier hs-var hs-var">copydest</span></a></span></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Flag CopyDest -&gt; CopyDest
forall a. WithCallStack (Flag a -&gt; a)
</span><a href="Distribution.Simple.Flag.html#fromFlag"><span class="hs-identifier hs-var">fromFlag</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">CopyFlags -&gt; Flag CopyDest
</span><a href="Distribution.Simple.Setup.html#copyDest"><span class="hs-identifier hs-var hs-var">copyDest</span></a></span><span> </span><span class="annot"><span class="annottext">CopyFlags
</span><a href="#local-6989586621679721223"><span class="hs-identifier hs-var">flags</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-87"></span><span>
</span><span id="line-88"></span><span>  </span><span id="local-6989586621679721222"><span class="annot"><span class="annottext">checkHasLibsOrExes :: IO ()
</span><a href="#local-6989586621679721222"><span class="hs-identifier hs-var hs-var">checkHasLibsOrExes</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-89"></span><span>    </span><span class="annot"><span class="annottext">Bool -&gt; IO () -&gt; IO ()
forall (f :: * -&gt; *). Applicative f =&gt; Bool -&gt; f () -&gt; f ()
</span><a href="../../base/src/Control.Monad.html#unless"><span class="hs-identifier hs-var">unless</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">PackageDescription -&gt; Bool
</span><a href="Distribution.Types.PackageDescription.html#hasLibs"><span class="hs-identifier hs-var">hasLibs</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679721225"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">Bool -&gt; Bool -&gt; Bool
</span><span class="hs-operator hs-var">||</span></span><span> </span><span class="annot"><span class="annottext">PackageDescription -&gt; Bool
</span><a href="Distribution.Types.PackageDescription.html#hasForeignLibs"><span class="hs-identifier hs-var">hasForeignLibs</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679721225"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">Bool -&gt; Bool -&gt; Bool
</span><span class="hs-operator hs-var">||</span></span><span> </span><span class="annot"><span class="annottext">PackageDescription -&gt; Bool
</span><a href="Distribution.Types.PackageDescription.html#hasExes"><span class="hs-identifier hs-var">hasExes</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679721225"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">(IO () -&gt; IO ()) -&gt; IO () -&gt; IO ()
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span>
</span><span id="line-90"></span><span>      </span><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; IO ()
forall a. Verbosity -&gt; String -&gt; IO a
</span><a href="Distribution.Simple.Utils.html#die%27"><span class="hs-identifier hs-var">die'</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679721219"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;No executables and no library found. Nothing to do.&quot;</span></span><span>
</span><span id="line-91"></span><span>
</span><span id="line-92"></span><span class="hs-comment">-- | Copy package global files.</span><span>
</span><span id="line-93"></span><span class="annot"><a href="Distribution.Simple.Install.html#copyPackage"><span class="hs-identifier hs-type">copyPackage</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Verbosity.html#Verbosity"><span class="hs-identifier hs-type">Verbosity</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.PackageDescription.html#PackageDescription"><span class="hs-identifier hs-type">PackageDescription</span></a></span><span>
</span><span id="line-94"></span><span>            </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.LocalBuildInfo.html#LocalBuildInfo"><span class="hs-identifier hs-type">LocalBuildInfo</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Simple.InstallDirs.html#CopyDest"><span class="hs-identifier hs-type">CopyDest</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">IO</span></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-95"></span><span id="copyPackage"><span class="annot"><span class="annottext">copyPackage :: Verbosity
-&gt; PackageDescription
-&gt; LocalBuildInfo
-&gt; String
-&gt; CopyDest
-&gt; IO ()
</span><a href="Distribution.Simple.Install.html#copyPackage"><span class="hs-identifier hs-var hs-var">copyPackage</span></a></span></span><span> </span><span id="local-6989586621679721190"><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679721190"><span class="hs-identifier hs-var">verbosity</span></a></span></span><span> </span><span id="local-6989586621679721189"><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679721189"><span class="hs-identifier hs-var">pkg_descr</span></a></span></span><span> </span><span id="local-6989586621679721188"><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679721188"><span class="hs-identifier hs-var">lbi</span></a></span></span><span> </span><span id="local-6989586621679721187"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721187"><span class="hs-identifier hs-var">distPref</span></a></span></span><span> </span><span id="local-6989586621679721186"><span class="annot"><span class="annottext">CopyDest
</span><a href="#local-6989586621679721186"><span class="hs-identifier hs-var">copydest</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-96"></span><span>  </span><span class="hs-keyword">let</span><span> </span><span class="hs-comment">-- This is a bit of a hack, to handle files which are not</span><span>
</span><span id="line-97"></span><span>      </span><span class="hs-comment">-- per-component (data files and Haddock files.)</span><span>
</span><span id="line-98"></span><span>      </span><span class="annot"><a href="Distribution.Simple.InstallDirs.html#InstallDirs"><span class="hs-identifier hs-type">InstallDirs</span></a></span><span> </span><span class="hs-special">{</span><span>
</span><span id="line-99"></span><span>         </span><span class="annot"><span class="annottext">datadir :: forall dir. InstallDirs dir -&gt; dir
</span><a href="Distribution.Simple.InstallDirs.html#datadir"><span class="hs-identifier hs-var">datadir</span></a></span><span>    </span><span class="hs-glyph">=</span><span> </span><span id="local-6989586621679721183"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721183"><span class="hs-identifier hs-var">dataPref</span></a></span></span><span class="hs-special">,</span><span>
</span><span id="line-100"></span><span>         </span><span class="annot"><span class="annottext">docdir :: forall dir. InstallDirs dir -&gt; dir
</span><a href="Distribution.Simple.InstallDirs.html#docdir"><span class="hs-identifier hs-var">docdir</span></a></span><span>     </span><span class="hs-glyph">=</span><span> </span><span id="local-6989586621679721181"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721181"><span class="hs-identifier hs-var">docPref</span></a></span></span><span class="hs-special">,</span><span>
</span><span id="line-101"></span><span>         </span><span class="annot"><span class="annottext">htmldir :: forall dir. InstallDirs dir -&gt; dir
</span><a href="Distribution.Simple.InstallDirs.html#htmldir"><span class="hs-identifier hs-var">htmldir</span></a></span><span>    </span><span class="hs-glyph">=</span><span> </span><span id="local-6989586621679721179"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721179"><span class="hs-identifier hs-var">htmlPref</span></a></span></span><span class="hs-special">,</span><span>
</span><span id="line-102"></span><span>         </span><span class="annot"><span class="annottext">haddockdir :: forall dir. InstallDirs dir -&gt; dir
</span><a href="Distribution.Simple.InstallDirs.html#haddockdir"><span class="hs-identifier hs-var">haddockdir</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="local-6989586621679721177"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721177"><span class="hs-identifier hs-var">interfacePref</span></a></span></span><span>
</span><span id="line-103"></span><span>      </span><span class="hs-special">}</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">PackageDescription
-&gt; LocalBuildInfo -&gt; UnitId -&gt; CopyDest -&gt; InstallDirs String
</span><a href="Distribution.Simple.LocalBuildInfo.html#absoluteInstallCommandDirs"><span class="hs-identifier hs-var">absoluteInstallCommandDirs</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679721189"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679721188"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">LocalBuildInfo -&gt; UnitId
</span><a href="Distribution.Types.LocalBuildInfo.html#localUnitId"><span class="hs-identifier hs-var">localUnitId</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679721188"><span class="hs-identifier hs-var">lbi</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">CopyDest
</span><a href="#local-6989586621679721186"><span class="hs-identifier hs-var">copydest</span></a></span><span>
</span><span id="line-104"></span><span>
</span><span id="line-105"></span><span>  </span><span class="hs-comment">-- Install (package-global) data files</span><span>
</span><span id="line-106"></span><span>  </span><span class="annot"><span class="annottext">Verbosity -&gt; PackageDescription -&gt; String -&gt; IO ()
</span><a href="Distribution.Simple.Install.html#installDataFiles"><span class="hs-identifier hs-var">installDataFiles</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679721190"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679721189"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721183"><span class="hs-identifier hs-var">dataPref</span></a></span><span>
</span><span id="line-107"></span><span>
</span><span id="line-108"></span><span>  </span><span class="hs-comment">-- Install (package-global) Haddock files</span><span>
</span><span id="line-109"></span><span>  </span><span class="hs-comment">-- TODO: these should be done per-library</span><span>
</span><span id="line-110"></span><span>  </span><span id="local-6989586621679721173"><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621679721173"><span class="hs-identifier hs-var">docExists</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">String -&gt; IO Bool
</span><a href="../../directory/src/System.Directory.html#doesDirectoryExist"><span class="hs-identifier hs-var">doesDirectoryExist</span></a></span><span> </span><span class="annot"><span class="annottext">(String -&gt; IO Bool) -&gt; String -&gt; IO Bool
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">HaddockTarget -&gt; String -&gt; PackageDescription -&gt; String
</span><a href="Distribution.Simple.BuildPaths.html#haddockPref"><span class="hs-identifier hs-var">haddockPref</span></a></span><span> </span><span class="annot"><span class="annottext">HaddockTarget
</span><a href="Distribution.Simple.Setup.html#ForDevelopment"><span class="hs-identifier hs-var">ForDevelopment</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721187"><span class="hs-identifier hs-var">distPref</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679721189"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span>
</span><span id="line-111"></span><span>  </span><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; IO ()
</span><a href="Distribution.Simple.Utils.html#info"><span class="hs-identifier hs-var">info</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679721190"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;directory &quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">HaddockTarget -&gt; String -&gt; PackageDescription -&gt; String
</span><a href="Distribution.Simple.BuildPaths.html#haddockPref"><span class="hs-identifier hs-var">haddockPref</span></a></span><span> </span><span class="annot"><span class="annottext">HaddockTarget
</span><a href="Distribution.Simple.Setup.html#ForDevelopment"><span class="hs-identifier hs-var">ForDevelopment</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721187"><span class="hs-identifier hs-var">distPref</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679721189"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-112"></span><span>                  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot; does exist: &quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">Bool -&gt; String
forall a. Show a =&gt; a -&gt; String
</span><a href="../../base/src/GHC.Show.html#show"><span class="hs-identifier hs-var">show</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621679721173"><span class="hs-identifier hs-var">docExists</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-113"></span><span>
</span><span id="line-114"></span><span>  </span><span class="hs-comment">-- TODO: this is a bit questionable, Haddock files really should</span><span>
</span><span id="line-115"></span><span>  </span><span class="hs-comment">-- be per library (when there are convenience libraries.)</span><span>
</span><span id="line-116"></span><span>  </span><span class="annot"><span class="annottext">Bool -&gt; IO () -&gt; IO ()
forall (f :: * -&gt; *). Applicative f =&gt; Bool -&gt; f () -&gt; f ()
</span><a href="../../base/src/GHC.Base.html#when"><span class="hs-identifier hs-var">when</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621679721173"><span class="hs-identifier hs-var">docExists</span></a></span><span> </span><span class="annot"><span class="annottext">(IO () -&gt; IO ()) -&gt; IO () -&gt; IO ()
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-117"></span><span>      </span><span class="annot"><span class="annottext">Verbosity -&gt; Bool -&gt; String -&gt; IO ()
</span><a href="Distribution.Simple.Utils.html#createDirectoryIfMissingVerbose"><span class="hs-identifier hs-var">createDirectoryIfMissingVerbose</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679721190"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721179"><span class="hs-identifier hs-var">htmlPref</span></a></span><span>
</span><span id="line-118"></span><span>      </span><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; String -&gt; IO ()
</span><a href="Distribution.Simple.Utils.html#installDirectoryContents"><span class="hs-identifier hs-var">installDirectoryContents</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679721190"><span class="hs-identifier hs-var">verbosity</span></a></span><span>
</span><span id="line-119"></span><span>          </span><span class="hs-special">(</span><span class="annot"><span class="annottext">HaddockTarget -&gt; String -&gt; PackageDescription -&gt; String
</span><a href="Distribution.Simple.BuildPaths.html#haddockPref"><span class="hs-identifier hs-var">haddockPref</span></a></span><span> </span><span class="annot"><span class="annottext">HaddockTarget
</span><a href="Distribution.Simple.Setup.html#ForDevelopment"><span class="hs-identifier hs-var">ForDevelopment</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721187"><span class="hs-identifier hs-var">distPref</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679721189"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721179"><span class="hs-identifier hs-var">htmlPref</span></a></span><span>
</span><span id="line-120"></span><span>      </span><span class="hs-comment">-- setPermissionsRecursive [Read] htmlPref</span><span>
</span><span id="line-121"></span><span>      </span><span class="hs-comment">-- The haddock interface file actually already got installed</span><span>
</span><span id="line-122"></span><span>      </span><span class="hs-comment">-- in the recursive copy, but now we install it where we actually</span><span>
</span><span id="line-123"></span><span>      </span><span class="hs-comment">-- want it to be (normally the same place). We could remove the</span><span>
</span><span id="line-124"></span><span>      </span><span class="hs-comment">-- copy in htmlPref first.</span><span>
</span><span id="line-125"></span><span>      </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679721170"><span class="annot"><span class="annottext">haddockInterfaceFileSrc :: String
</span><a href="#local-6989586621679721170"><span class="hs-identifier hs-var hs-var">haddockInterfaceFileSrc</span></a></span></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">HaddockTarget -&gt; String -&gt; PackageDescription -&gt; String
</span><a href="Distribution.Simple.BuildPaths.html#haddockPref"><span class="hs-identifier hs-var">haddockPref</span></a></span><span> </span><span class="annot"><span class="annottext">HaddockTarget
</span><a href="Distribution.Simple.Setup.html#ForDevelopment"><span class="hs-identifier hs-var">ForDevelopment</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721187"><span class="hs-identifier hs-var">distPref</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679721189"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span>
</span><span id="line-126"></span><span>                                                   </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
</span><a href="../../filepath/src/System.FilePath.Windows.html#%3C%2F%3E"><span class="hs-operator hs-var">&lt;/&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription -&gt; String
</span><a href="Distribution.Simple.BuildPaths.html#haddockName"><span class="hs-identifier hs-var">haddockName</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679721189"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span>
</span><span id="line-127"></span><span>          </span><span id="local-6989586621679721169"><span class="annot"><span class="annottext">haddockInterfaceFileDest :: String
</span><a href="#local-6989586621679721169"><span class="hs-identifier hs-var hs-var">haddockInterfaceFileDest</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721177"><span class="hs-identifier hs-var">interfacePref</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
</span><a href="../../filepath/src/System.FilePath.Windows.html#%3C%2F%3E"><span class="hs-operator hs-var">&lt;/&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription -&gt; String
</span><a href="Distribution.Simple.BuildPaths.html#haddockName"><span class="hs-identifier hs-var">haddockName</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679721189"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span>
</span><span id="line-128"></span><span>      </span><span class="hs-comment">-- We only generate the haddock interface file for libs, So if the</span><span>
</span><span id="line-129"></span><span>      </span><span class="hs-comment">-- package consists only of executables there will not be one:</span><span>
</span><span id="line-130"></span><span>      </span><span id="local-6989586621679721168"><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621679721168"><span class="hs-identifier hs-var">exists</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">String -&gt; IO Bool
</span><a href="../../directory/src/System.Directory.html#doesFileExist"><span class="hs-identifier hs-var">doesFileExist</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721170"><span class="hs-identifier hs-var">haddockInterfaceFileSrc</span></a></span><span>
</span><span id="line-131"></span><span>      </span><span class="annot"><span class="annottext">Bool -&gt; IO () -&gt; IO ()
forall (f :: * -&gt; *). Applicative f =&gt; Bool -&gt; f () -&gt; f ()
</span><a href="../../base/src/GHC.Base.html#when"><span class="hs-identifier hs-var">when</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621679721168"><span class="hs-identifier hs-var">exists</span></a></span><span> </span><span class="annot"><span class="annottext">(IO () -&gt; IO ()) -&gt; IO () -&gt; IO ()
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-132"></span><span>        </span><span class="annot"><span class="annottext">Verbosity -&gt; Bool -&gt; String -&gt; IO ()
</span><a href="Distribution.Simple.Utils.html#createDirectoryIfMissingVerbose"><span class="hs-identifier hs-var">createDirectoryIfMissingVerbose</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679721190"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721177"><span class="hs-identifier hs-var">interfacePref</span></a></span><span>
</span><span id="line-133"></span><span>        </span><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; String -&gt; IO ()
</span><a href="Distribution.Simple.Utils.html#installOrdinaryFile"><span class="hs-identifier hs-var">installOrdinaryFile</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679721190"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721170"><span class="hs-identifier hs-var">haddockInterfaceFileSrc</span></a></span><span>
</span><span id="line-134"></span><span>                                      </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721169"><span class="hs-identifier hs-var">haddockInterfaceFileDest</span></a></span><span>
</span><span id="line-135"></span><span>
</span><span id="line-136"></span><span>  </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679721167"><span class="annot"><span class="annottext">lfiles :: [String]
</span><a href="#local-6989586621679721167"><span class="hs-identifier hs-var hs-var">lfiles</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">PackageDescription -&gt; [String]
</span><a href="Distribution.Types.PackageDescription.html#licenseFiles"><span class="hs-identifier hs-var hs-var">licenseFiles</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679721189"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span>
</span><span id="line-137"></span><span>  </span><span class="annot"><span class="annottext">Bool -&gt; IO () -&gt; IO ()
forall (f :: * -&gt; *). Applicative f =&gt; Bool -&gt; f () -&gt; f ()
</span><a href="../../base/src/Control.Monad.html#unless"><span class="hs-identifier hs-var">unless</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">[String] -&gt; Bool
forall (t :: * -&gt; *) a. Foldable t =&gt; t a -&gt; Bool
</span><a href="../../base/src/Data.Foldable.html#null"><span class="hs-identifier hs-var">null</span></a></span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679721167"><span class="hs-identifier hs-var">lfiles</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">(IO () -&gt; IO ()) -&gt; IO () -&gt; IO ()
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-138"></span><span>    </span><span class="annot"><span class="annottext">Verbosity -&gt; Bool -&gt; String -&gt; IO ()
</span><a href="Distribution.Simple.Utils.html#createDirectoryIfMissingVerbose"><span class="hs-identifier hs-var">createDirectoryIfMissingVerbose</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679721190"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721181"><span class="hs-identifier hs-var">docPref</span></a></span><span>
</span><span id="line-139"></span><span>    </span><span class="annot"><span class="annottext">[IO ()] -&gt; IO ()
forall (t :: * -&gt; *) (m :: * -&gt; *) a.
(Foldable t, Monad m) =&gt;
t (m a) -&gt; m ()
</span><a href="../../base/src/Data.Foldable.html#sequence_"><span class="hs-identifier hs-var">sequence_</span></a></span><span>
</span><span id="line-140"></span><span>      </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; String -&gt; IO ()
</span><a href="Distribution.Simple.Utils.html#installOrdinaryFile"><span class="hs-identifier hs-var">installOrdinaryFile</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679721190"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721163"><span class="hs-identifier hs-var">lfile</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721181"><span class="hs-identifier hs-var">docPref</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
</span><a href="../../filepath/src/System.FilePath.Windows.html#%3C%2F%3E"><span class="hs-operator hs-var">&lt;/&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String
</span><a href="../../filepath/src/System.FilePath.Windows.html#takeFileName"><span class="hs-identifier hs-var">takeFileName</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721163"><span class="hs-identifier hs-var">lfile</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-141"></span><span>      </span><span class="hs-glyph">|</span><span> </span><span id="local-6989586621679721163"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721163"><span class="hs-identifier hs-var">lfile</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679721167"><span class="hs-identifier hs-var">lfiles</span></a></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-142"></span><span>
</span><span id="line-143"></span><span class="hs-comment">-- | Copy files associated with a component.</span><span>
</span><span id="line-144"></span><span class="annot"><a href="Distribution.Simple.Install.html#copyComponent"><span class="hs-identifier hs-type">copyComponent</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Verbosity.html#Verbosity"><span class="hs-identifier hs-type">Verbosity</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.PackageDescription.html#PackageDescription"><span class="hs-identifier hs-type">PackageDescription</span></a></span><span>
</span><span id="line-145"></span><span>              </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.LocalBuildInfo.html#LocalBuildInfo"><span class="hs-identifier hs-type">LocalBuildInfo</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.Component.html#Component"><span class="hs-identifier hs-type">Component</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.ComponentLocalBuildInfo.html#ComponentLocalBuildInfo"><span class="hs-identifier hs-type">ComponentLocalBuildInfo</span></a></span><span>
</span><span id="line-146"></span><span>              </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Simple.InstallDirs.html#CopyDest"><span class="hs-identifier hs-type">CopyDest</span></a></span><span>
</span><span id="line-147"></span><span>              </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">IO</span></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-148"></span><span id="copyComponent"><span class="annot"><span class="annottext">copyComponent :: Verbosity
-&gt; PackageDescription
-&gt; LocalBuildInfo
-&gt; Component
-&gt; ComponentLocalBuildInfo
-&gt; CopyDest
-&gt; IO ()
</span><a href="Distribution.Simple.Install.html#copyComponent"><span class="hs-identifier hs-var hs-var">copyComponent</span></a></span></span><span> </span><span id="local-6989586621679721162"><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679721162"><span class="hs-identifier hs-var">verbosity</span></a></span></span><span> </span><span id="local-6989586621679721161"><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679721161"><span class="hs-identifier hs-var">pkg_descr</span></a></span></span><span> </span><span id="local-6989586621679721160"><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679721160"><span class="hs-identifier hs-var">lbi</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Types.Component.html#CLib"><span class="hs-identifier hs-type">CLib</span></a></span><span> </span><span id="local-6989586621679721158"><span class="annot"><span class="annottext">Library
</span><a href="#local-6989586621679721158"><span class="hs-identifier hs-var">lib</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679721157"><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679721157"><span class="hs-identifier hs-var">clbi</span></a></span></span><span> </span><span id="local-6989586621679721156"><span class="annot"><span class="annottext">CopyDest
</span><a href="#local-6989586621679721156"><span class="hs-identifier hs-var">copydest</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-149"></span><span>    </span><span class="hs-keyword">let</span><span> </span><span class="annot"><a href="Distribution.Simple.InstallDirs.html#InstallDirs"><span class="hs-identifier hs-type">InstallDirs</span></a></span><span class="hs-special">{</span><span>
</span><span id="line-150"></span><span>            </span><span class="annot"><span class="annottext">libdir :: forall dir. InstallDirs dir -&gt; dir
</span><a href="Distribution.Simple.InstallDirs.html#libdir"><span class="hs-identifier hs-var">libdir</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="local-6989586621679721154"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721154"><span class="hs-identifier hs-var">libPref</span></a></span></span><span class="hs-special">,</span><span>
</span><span id="line-151"></span><span>            </span><span class="annot"><span class="annottext">dynlibdir :: forall dir. InstallDirs dir -&gt; dir
</span><a href="Distribution.Simple.InstallDirs.html#dynlibdir"><span class="hs-identifier hs-var">dynlibdir</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="local-6989586621679721152"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721152"><span class="hs-identifier hs-var">dynlibPref</span></a></span></span><span class="hs-special">,</span><span>
</span><span id="line-152"></span><span>            </span><span class="annot"><span class="annottext">includedir :: forall dir. InstallDirs dir -&gt; dir
</span><a href="Distribution.Simple.InstallDirs.html#includedir"><span class="hs-identifier hs-var">includedir</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="local-6989586621679721150"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721150"><span class="hs-identifier hs-var">incPref</span></a></span></span><span>
</span><span id="line-153"></span><span>            </span><span class="hs-special">}</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">PackageDescription
-&gt; LocalBuildInfo -&gt; UnitId -&gt; CopyDest -&gt; InstallDirs String
</span><a href="Distribution.Simple.LocalBuildInfo.html#absoluteInstallCommandDirs"><span class="hs-identifier hs-var">absoluteInstallCommandDirs</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679721161"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679721160"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ComponentLocalBuildInfo -&gt; UnitId
</span><a href="Distribution.Types.ComponentLocalBuildInfo.html#componentUnitId"><span class="hs-identifier hs-var hs-var">componentUnitId</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679721157"><span class="hs-identifier hs-var">clbi</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">CopyDest
</span><a href="#local-6989586621679721156"><span class="hs-identifier hs-var">copydest</span></a></span><span>
</span><span id="line-154"></span><span>        </span><span id="local-6989586621679721148"><span class="annot"><span class="annottext">buildPref :: String
</span><a href="#local-6989586621679721148"><span class="hs-identifier hs-var hs-var">buildPref</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo -&gt; ComponentLocalBuildInfo -&gt; String
</span><a href="Distribution.Simple.LocalBuildInfo.html#componentBuildDir"><span class="hs-identifier hs-var">componentBuildDir</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679721160"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679721157"><span class="hs-identifier hs-var">clbi</span></a></span><span>
</span><span id="line-155"></span><span>
</span><span id="line-156"></span><span>    </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Library -&gt; LibraryName
</span><a href="Distribution.Types.Library.html#libName"><span class="hs-identifier hs-var hs-var">libName</span></a></span><span> </span><span class="annot"><span class="annottext">Library
</span><a href="#local-6989586621679721158"><span class="hs-identifier hs-var">lib</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-157"></span><span>        </span><span class="annot"><span class="annottext">LibraryName
</span><a href="Distribution.Types.LibraryName.html#LMainLibName"><span class="hs-identifier hs-var">LMainLibName</span></a></span><span>  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; IO ()
</span><a href="Distribution.Simple.Utils.html#noticeNoWrap"><span class="hs-identifier hs-var">noticeNoWrap</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679721162"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;Installing library in &quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721154"><span class="hs-identifier hs-var">libPref</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-158"></span><span>        </span><span class="annot"><a href="Distribution.Types.LibraryName.html#LSubLibName"><span class="hs-identifier hs-type">LSubLibName</span></a></span><span> </span><span id="local-6989586621679721143"><span class="annot"><span class="annottext">UnqualComponentName
</span><a href="#local-6989586621679721143"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; IO ()
</span><a href="Distribution.Simple.Utils.html#noticeNoWrap"><span class="hs-identifier hs-var">noticeNoWrap</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679721162"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;Installing internal library &quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">UnqualComponentName -&gt; String
forall a. Pretty a =&gt; a -&gt; String
</span><a href="Distribution.Pretty.html#prettyShow"><span class="hs-identifier hs-var">prettyShow</span></a></span><span> </span><span class="annot"><span class="annottext">UnqualComponentName
</span><a href="#local-6989586621679721143"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot; in &quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721154"><span class="hs-identifier hs-var">libPref</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-159"></span><span>
</span><span id="line-160"></span><span>    </span><span class="hs-comment">-- install include files for all compilers - they may be needed to compile</span><span>
</span><span id="line-161"></span><span>    </span><span class="hs-comment">-- haskell files (using the CPP extension)</span><span>
</span><span id="line-162"></span><span>    </span><span class="annot"><span class="annottext">Verbosity
-&gt; BuildInfo -&gt; LocalBuildInfo -&gt; String -&gt; String -&gt; IO ()
</span><a href="Distribution.Simple.Install.html#installIncludeFiles"><span class="hs-identifier hs-var">installIncludeFiles</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679721162"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Library -&gt; BuildInfo
</span><a href="Distribution.Types.Library.html#libBuildInfo"><span class="hs-identifier hs-var hs-var">libBuildInfo</span></a></span><span> </span><span class="annot"><span class="annottext">Library
</span><a href="#local-6989586621679721158"><span class="hs-identifier hs-var">lib</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679721160"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721148"><span class="hs-identifier hs-var">buildPref</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721150"><span class="hs-identifier hs-var">incPref</span></a></span><span>
</span><span id="line-163"></span><span>
</span><span id="line-164"></span><span>    </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Compiler -&gt; CompilerFlavor
</span><a href="Distribution.Simple.Compiler.html#compilerFlavor"><span class="hs-identifier hs-var">compilerFlavor</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">LocalBuildInfo -&gt; Compiler
</span><a href="Distribution.Types.LocalBuildInfo.html#compiler"><span class="hs-identifier hs-var hs-var">compiler</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679721160"><span class="hs-identifier hs-var">lbi</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-165"></span><span>      </span><span class="annot"><span class="annottext">CompilerFlavor
</span><a href="Distribution.Compiler.html#GHC"><span class="hs-identifier hs-var">GHC</span></a></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Verbosity
-&gt; LocalBuildInfo
-&gt; String
-&gt; String
-&gt; String
-&gt; PackageDescription
-&gt; Library
-&gt; ComponentLocalBuildInfo
-&gt; IO ()
</span><a href="Distribution.Simple.GHC.html#installLib"><span class="hs-identifier hs-var">GHC.installLib</span></a></span><span>   </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679721162"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679721160"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721154"><span class="hs-identifier hs-var">libPref</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721152"><span class="hs-identifier hs-var">dynlibPref</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721148"><span class="hs-identifier hs-var">buildPref</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679721161"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">Library
</span><a href="#local-6989586621679721158"><span class="hs-identifier hs-var">lib</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679721157"><span class="hs-identifier hs-var">clbi</span></a></span><span>
</span><span id="line-166"></span><span>      </span><span class="annot"><span class="annottext">CompilerFlavor
</span><a href="Distribution.Compiler.html#GHCJS"><span class="hs-identifier hs-var">GHCJS</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Verbosity
-&gt; LocalBuildInfo
-&gt; String
-&gt; String
-&gt; String
-&gt; PackageDescription
-&gt; Library
-&gt; ComponentLocalBuildInfo
-&gt; IO ()
</span><a href="Distribution.Simple.GHCJS.html#installLib"><span class="hs-identifier hs-var">GHCJS.installLib</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679721162"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679721160"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721154"><span class="hs-identifier hs-var">libPref</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721152"><span class="hs-identifier hs-var">dynlibPref</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721148"><span class="hs-identifier hs-var">buildPref</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679721161"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">Library
</span><a href="#local-6989586621679721158"><span class="hs-identifier hs-var">lib</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679721157"><span class="hs-identifier hs-var">clbi</span></a></span><span>
</span><span id="line-167"></span><span>      </span><span class="annot"><span class="annottext">CompilerFlavor
</span><a href="Distribution.Compiler.html#UHC"><span class="hs-identifier hs-var">UHC</span></a></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Verbosity
-&gt; LocalBuildInfo
-&gt; String
-&gt; String
-&gt; String
-&gt; PackageDescription
-&gt; Library
-&gt; ComponentLocalBuildInfo
-&gt; IO ()
</span><a href="Distribution.Simple.UHC.html#installLib"><span class="hs-identifier hs-var">UHC.installLib</span></a></span><span>   </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679721162"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679721160"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721154"><span class="hs-identifier hs-var">libPref</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721152"><span class="hs-identifier hs-var">dynlibPref</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721148"><span class="hs-identifier hs-var">buildPref</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679721161"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">Library
</span><a href="#local-6989586621679721158"><span class="hs-identifier hs-var">lib</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679721157"><span class="hs-identifier hs-var">clbi</span></a></span><span>
</span><span id="line-168"></span><span>      </span><span class="annot"><a href="Distribution.Compiler.html#HaskellSuite"><span class="hs-identifier hs-type">HaskellSuite</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Verbosity
-&gt; LocalBuildInfo
-&gt; String
-&gt; String
-&gt; String
-&gt; PackageDescription
-&gt; Library
-&gt; ComponentLocalBuildInfo
-&gt; IO ()
</span><a href="Distribution.Simple.HaskellSuite.html#installLib"><span class="hs-identifier hs-var">HaskellSuite.installLib</span></a></span><span>
</span><span id="line-169"></span><span>                                </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679721162"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679721160"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721154"><span class="hs-identifier hs-var">libPref</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721152"><span class="hs-identifier hs-var">dynlibPref</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721148"><span class="hs-identifier hs-var">buildPref</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679721161"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">Library
</span><a href="#local-6989586621679721158"><span class="hs-identifier hs-var">lib</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679721157"><span class="hs-identifier hs-var">clbi</span></a></span><span>
</span><span id="line-170"></span><span>      </span><span class="annot"><span class="annottext">CompilerFlavor
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; IO ()
forall a. Verbosity -&gt; String -&gt; IO a
</span><a href="Distribution.Simple.Utils.html#die%27"><span class="hs-identifier hs-var">die'</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679721162"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">(String -&gt; IO ()) -&gt; String -&gt; IO ()
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;installing with &quot;</span></span><span>
</span><span id="line-171"></span><span>              </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">CompilerFlavor -&gt; String
forall a. Pretty a =&gt; a -&gt; String
</span><a href="Distribution.Pretty.html#prettyShow"><span class="hs-identifier hs-var">prettyShow</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Compiler -&gt; CompilerFlavor
</span><a href="Distribution.Simple.Compiler.html#compilerFlavor"><span class="hs-identifier hs-var">compilerFlavor</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">LocalBuildInfo -&gt; Compiler
</span><a href="Distribution.Types.LocalBuildInfo.html#compiler"><span class="hs-identifier hs-var hs-var">compiler</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679721160"><span class="hs-identifier hs-var">lbi</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-172"></span><span>              </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot; is not implemented&quot;</span></span><span>
</span><span id="line-173"></span><span>
</span><span id="line-174"></span><span class="annot"><a href="Distribution.Simple.Install.html#copyComponent"><span class="hs-identifier hs-var">copyComponent</span></a></span><span> </span><span id="local-6989586621679721131"><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679721131"><span class="hs-identifier hs-var">verbosity</span></a></span></span><span> </span><span id="local-6989586621679721130"><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679721130"><span class="hs-identifier hs-var">pkg_descr</span></a></span></span><span> </span><span id="local-6989586621679721129"><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679721129"><span class="hs-identifier hs-var">lbi</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Types.Component.html#CFLib"><span class="hs-identifier hs-type">CFLib</span></a></span><span> </span><span id="local-6989586621679721127"><span class="annot"><span class="annottext">ForeignLib
</span><a href="#local-6989586621679721127"><span class="hs-identifier hs-var">flib</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679721126"><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679721126"><span class="hs-identifier hs-var">clbi</span></a></span></span><span> </span><span id="local-6989586621679721125"><span class="annot"><span class="annottext">CopyDest
</span><a href="#local-6989586621679721125"><span class="hs-identifier hs-var">copydest</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-175"></span><span>    </span><span class="hs-keyword">let</span><span> </span><span class="annot"><a href="Distribution.Simple.InstallDirs.html#InstallDirs"><span class="hs-identifier hs-type">InstallDirs</span></a></span><span class="hs-special">{</span><span>
</span><span id="line-176"></span><span>            </span><span class="annot"><span class="annottext">flibdir :: forall dir. InstallDirs dir -&gt; dir
</span><a href="Distribution.Simple.InstallDirs.html#flibdir"><span class="hs-identifier hs-var">flibdir</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="local-6989586621679721123"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721123"><span class="hs-identifier hs-var">flibPref</span></a></span></span><span class="hs-special">,</span><span>
</span><span id="line-177"></span><span>            </span><span class="annot"><span class="annottext">includedir :: forall dir. InstallDirs dir -&gt; dir
</span><a href="Distribution.Simple.InstallDirs.html#includedir"><span class="hs-identifier hs-var">includedir</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="local-6989586621679721122"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721122"><span class="hs-identifier hs-var">incPref</span></a></span></span><span>
</span><span id="line-178"></span><span>            </span><span class="hs-special">}</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">PackageDescription
-&gt; LocalBuildInfo -&gt; UnitId -&gt; CopyDest -&gt; InstallDirs String
</span><a href="Distribution.Simple.LocalBuildInfo.html#absoluteComponentInstallDirs"><span class="hs-identifier hs-var">absoluteComponentInstallDirs</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679721130"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679721129"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ComponentLocalBuildInfo -&gt; UnitId
</span><a href="Distribution.Types.ComponentLocalBuildInfo.html#componentUnitId"><span class="hs-identifier hs-var hs-var">componentUnitId</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679721126"><span class="hs-identifier hs-var">clbi</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">CopyDest
</span><a href="#local-6989586621679721125"><span class="hs-identifier hs-var">copydest</span></a></span><span>
</span><span id="line-179"></span><span>        </span><span id="local-6989586621679721120"><span class="annot"><span class="annottext">buildPref :: String
</span><a href="#local-6989586621679721120"><span class="hs-identifier hs-var hs-var">buildPref</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo -&gt; ComponentLocalBuildInfo -&gt; String
</span><a href="Distribution.Simple.LocalBuildInfo.html#componentBuildDir"><span class="hs-identifier hs-var">componentBuildDir</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679721129"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679721126"><span class="hs-identifier hs-var">clbi</span></a></span><span>
</span><span id="line-180"></span><span>
</span><span id="line-181"></span><span>    </span><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; IO ()
</span><a href="Distribution.Simple.Utils.html#noticeNoWrap"><span class="hs-identifier hs-var">noticeNoWrap</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679721131"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;Installing foreign library &quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">UnqualComponentName -&gt; String
</span><a href="Distribution.Types.UnqualComponentName.html#unUnqualComponentName"><span class="hs-identifier hs-var">unUnqualComponentName</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ForeignLib -&gt; UnqualComponentName
</span><a href="Distribution.Types.ForeignLib.html#foreignLibName"><span class="hs-identifier hs-var hs-var">foreignLibName</span></a></span><span> </span><span class="annot"><span class="annottext">ForeignLib
</span><a href="#local-6989586621679721127"><span class="hs-identifier hs-var">flib</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot; in &quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721123"><span class="hs-identifier hs-var">flibPref</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-182"></span><span>    </span><span class="annot"><span class="annottext">Verbosity
-&gt; BuildInfo -&gt; LocalBuildInfo -&gt; String -&gt; String -&gt; IO ()
</span><a href="Distribution.Simple.Install.html#installIncludeFiles"><span class="hs-identifier hs-var">installIncludeFiles</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679721131"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ForeignLib -&gt; BuildInfo
</span><a href="Distribution.Types.ForeignLib.html#foreignLibBuildInfo"><span class="hs-identifier hs-var hs-var">foreignLibBuildInfo</span></a></span><span> </span><span class="annot"><span class="annottext">ForeignLib
</span><a href="#local-6989586621679721127"><span class="hs-identifier hs-var">flib</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679721129"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721120"><span class="hs-identifier hs-var">buildPref</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721122"><span class="hs-identifier hs-var">incPref</span></a></span><span>
</span><span id="line-183"></span><span>
</span><span id="line-184"></span><span>    </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Compiler -&gt; CompilerFlavor
</span><a href="Distribution.Simple.Compiler.html#compilerFlavor"><span class="hs-identifier hs-var">compilerFlavor</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">LocalBuildInfo -&gt; Compiler
</span><a href="Distribution.Types.LocalBuildInfo.html#compiler"><span class="hs-identifier hs-var hs-var">compiler</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679721129"><span class="hs-identifier hs-var">lbi</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-185"></span><span>      </span><span class="annot"><span class="annottext">CompilerFlavor
</span><a href="Distribution.Compiler.html#GHC"><span class="hs-identifier hs-var">GHC</span></a></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Verbosity
-&gt; LocalBuildInfo
-&gt; String
-&gt; String
-&gt; PackageDescription
-&gt; ForeignLib
-&gt; IO ()
</span><a href="Distribution.Simple.GHC.html#installFLib"><span class="hs-identifier hs-var">GHC.installFLib</span></a></span><span>   </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679721131"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679721129"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721123"><span class="hs-identifier hs-var">flibPref</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721120"><span class="hs-identifier hs-var">buildPref</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679721130"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">ForeignLib
</span><a href="#local-6989586621679721127"><span class="hs-identifier hs-var">flib</span></a></span><span>
</span><span id="line-186"></span><span>      </span><span class="annot"><span class="annottext">CompilerFlavor
</span><a href="Distribution.Compiler.html#GHCJS"><span class="hs-identifier hs-var">GHCJS</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Verbosity
-&gt; LocalBuildInfo
-&gt; String
-&gt; String
-&gt; PackageDescription
-&gt; ForeignLib
-&gt; IO ()
</span><a href="Distribution.Simple.GHCJS.html#installFLib"><span class="hs-identifier hs-var">GHCJS.installFLib</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679721131"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679721129"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721123"><span class="hs-identifier hs-var">flibPref</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721120"><span class="hs-identifier hs-var">buildPref</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679721130"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">ForeignLib
</span><a href="#local-6989586621679721127"><span class="hs-identifier hs-var">flib</span></a></span><span>
</span><span id="line-187"></span><span>      </span><span class="annot"><span class="annottext">CompilerFlavor
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; IO ()
forall a. Verbosity -&gt; String -&gt; IO a
</span><a href="Distribution.Simple.Utils.html#die%27"><span class="hs-identifier hs-var">die'</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679721131"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">(String -&gt; IO ()) -&gt; String -&gt; IO ()
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;installing foreign lib with &quot;</span></span><span>
</span><span id="line-188"></span><span>              </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">CompilerFlavor -&gt; String
forall a. Pretty a =&gt; a -&gt; String
</span><a href="Distribution.Pretty.html#prettyShow"><span class="hs-identifier hs-var">prettyShow</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Compiler -&gt; CompilerFlavor
</span><a href="Distribution.Simple.Compiler.html#compilerFlavor"><span class="hs-identifier hs-var">compilerFlavor</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">LocalBuildInfo -&gt; Compiler
</span><a href="Distribution.Types.LocalBuildInfo.html#compiler"><span class="hs-identifier hs-var hs-var">compiler</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679721129"><span class="hs-identifier hs-var">lbi</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-189"></span><span>              </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot; is not implemented&quot;</span></span><span>
</span><span id="line-190"></span><span>
</span><span id="line-191"></span><span class="annot"><a href="Distribution.Simple.Install.html#copyComponent"><span class="hs-identifier hs-var">copyComponent</span></a></span><span> </span><span id="local-6989586621679721114"><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679721114"><span class="hs-identifier hs-var">verbosity</span></a></span></span><span> </span><span id="local-6989586621679721113"><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679721113"><span class="hs-identifier hs-var">pkg_descr</span></a></span></span><span> </span><span id="local-6989586621679721112"><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679721112"><span class="hs-identifier hs-var">lbi</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Types.Component.html#CExe"><span class="hs-identifier hs-type">CExe</span></a></span><span> </span><span id="local-6989586621679721110"><span class="annot"><span class="annottext">Executable
</span><a href="#local-6989586621679721110"><span class="hs-identifier hs-var">exe</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679721109"><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679721109"><span class="hs-identifier hs-var">clbi</span></a></span></span><span> </span><span id="local-6989586621679721108"><span class="annot"><span class="annottext">CopyDest
</span><a href="#local-6989586621679721108"><span class="hs-identifier hs-var">copydest</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-192"></span><span>    </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679721107"><span class="annot"><span class="annottext">installDirs :: InstallDirs String
</span><a href="#local-6989586621679721107"><span class="hs-identifier hs-var hs-var">installDirs</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">PackageDescription
-&gt; LocalBuildInfo -&gt; UnitId -&gt; CopyDest -&gt; InstallDirs String
</span><a href="Distribution.Simple.LocalBuildInfo.html#absoluteComponentInstallDirs"><span class="hs-identifier hs-var">absoluteComponentInstallDirs</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679721113"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679721112"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ComponentLocalBuildInfo -&gt; UnitId
</span><a href="Distribution.Types.ComponentLocalBuildInfo.html#componentUnitId"><span class="hs-identifier hs-var hs-var">componentUnitId</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679721109"><span class="hs-identifier hs-var">clbi</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">CopyDest
</span><a href="#local-6989586621679721108"><span class="hs-identifier hs-var">copydest</span></a></span><span>
</span><span id="line-193"></span><span>        </span><span class="hs-comment">-- the installers know how to find the actual location of the</span><span>
</span><span id="line-194"></span><span>        </span><span class="hs-comment">-- binaries</span><span>
</span><span id="line-195"></span><span>        </span><span id="local-6989586621679721106"><span class="annot"><span class="annottext">buildPref :: String
</span><a href="#local-6989586621679721106"><span class="hs-identifier hs-var hs-var">buildPref</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo -&gt; String
</span><a href="Distribution.Types.LocalBuildInfo.html#buildDir"><span class="hs-identifier hs-var hs-var">buildDir</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679721112"><span class="hs-identifier hs-var">lbi</span></a></span><span>
</span><span id="line-196"></span><span>        </span><span id="local-6989586621679721104"><span class="annot"><span class="annottext">uid :: UnitId
</span><a href="#local-6989586621679721104"><span class="hs-identifier hs-var hs-var">uid</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo -&gt; UnitId
</span><a href="Distribution.Types.ComponentLocalBuildInfo.html#componentUnitId"><span class="hs-identifier hs-var hs-var">componentUnitId</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679721109"><span class="hs-identifier hs-var">clbi</span></a></span><span>
</span><span id="line-197"></span><span>        </span><span id="local-6989586621679721101"><span class="annot"><span class="annottext">pkgid :: PackageIdentifier
</span><a href="#local-6989586621679721101"><span class="hs-identifier hs-var hs-var">pkgid</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">PackageDescription -&gt; PackageIdentifier
forall pkg. Package pkg =&gt; pkg -&gt; PackageIdentifier
</span><a href="Distribution.Package.html#packageId"><span class="hs-identifier hs-var">packageId</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679721113"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span>
</span><span id="line-198"></span><span>        </span><span id="local-6989586621679721099"><span class="annot"><span class="annottext">binPref :: String
</span><a href="#local-6989586621679721099"><span class="hs-identifier hs-var hs-var">binPref</span></a></span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">ExecutableScope
</span><a href="Distribution.Types.ExecutableScope.html#ExecutablePrivate"><span class="hs-identifier hs-var">ExecutablePrivate</span></a></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Executable -&gt; ExecutableScope
</span><a href="Distribution.Types.Executable.html#exeScope"><span class="hs-identifier hs-var hs-var">exeScope</span></a></span><span> </span><span class="annot"><span class="annottext">Executable
</span><a href="#local-6989586621679721110"><span class="hs-identifier hs-var">exe</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">InstallDirs String -&gt; String
forall dir. InstallDirs dir -&gt; dir
</span><a href="Distribution.Simple.InstallDirs.html#libexecdir"><span class="hs-identifier hs-var hs-var">libexecdir</span></a></span><span> </span><span class="annot"><span class="annottext">InstallDirs String
</span><a href="#local-6989586621679721107"><span class="hs-identifier hs-var">installDirs</span></a></span><span>
</span><span id="line-199"></span><span>                </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../base/src/GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">InstallDirs String -&gt; String
forall dir. InstallDirs dir -&gt; dir
</span><a href="Distribution.Simple.InstallDirs.html#bindir"><span class="hs-identifier hs-var hs-var">bindir</span></a></span><span> </span><span class="annot"><span class="annottext">InstallDirs String
</span><a href="#local-6989586621679721107"><span class="hs-identifier hs-var">installDirs</span></a></span><span>
</span><span id="line-200"></span><span>        </span><span id="local-6989586621679721094"><span class="annot"><span class="annottext">progPrefixPref :: String
</span><a href="#local-6989586621679721094"><span class="hs-identifier hs-var hs-var">progPrefixPref</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">PackageIdentifier
-&gt; LocalBuildInfo -&gt; UnitId -&gt; PathTemplate -&gt; String
</span><a href="Distribution.Simple.LocalBuildInfo.html#substPathTemplate"><span class="hs-identifier hs-var">substPathTemplate</span></a></span><span> </span><span class="annot"><span class="annottext">PackageIdentifier
</span><a href="#local-6989586621679721101"><span class="hs-identifier hs-var">pkgid</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679721112"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">UnitId
</span><a href="#local-6989586621679721104"><span class="hs-identifier hs-var">uid</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">LocalBuildInfo -&gt; PathTemplate
</span><a href="Distribution.Types.LocalBuildInfo.html#progPrefix"><span class="hs-identifier hs-var hs-var">progPrefix</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679721112"><span class="hs-identifier hs-var">lbi</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-201"></span><span>        </span><span id="local-6989586621679721091"><span class="annot"><span class="annottext">progSuffixPref :: String
</span><a href="#local-6989586621679721091"><span class="hs-identifier hs-var hs-var">progSuffixPref</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">PackageIdentifier
-&gt; LocalBuildInfo -&gt; UnitId -&gt; PathTemplate -&gt; String
</span><a href="Distribution.Simple.LocalBuildInfo.html#substPathTemplate"><span class="hs-identifier hs-var">substPathTemplate</span></a></span><span> </span><span class="annot"><span class="annottext">PackageIdentifier
</span><a href="#local-6989586621679721101"><span class="hs-identifier hs-var">pkgid</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679721112"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">UnitId
</span><a href="#local-6989586621679721104"><span class="hs-identifier hs-var">uid</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">LocalBuildInfo -&gt; PathTemplate
</span><a href="Distribution.Types.LocalBuildInfo.html#progSuffix"><span class="hs-identifier hs-var hs-var">progSuffix</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679721112"><span class="hs-identifier hs-var">lbi</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-202"></span><span>        </span><span id="local-6989586621679721089"><span class="annot"><span class="annottext">progFix :: (String, String)
</span><a href="#local-6989586621679721089"><span class="hs-identifier hs-var hs-var">progFix</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721094"><span class="hs-identifier hs-var">progPrefixPref</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721091"><span class="hs-identifier hs-var">progSuffixPref</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-203"></span><span>    </span><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; IO ()
</span><a href="Distribution.Simple.Utils.html#noticeNoWrap"><span class="hs-identifier hs-var">noticeNoWrap</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679721114"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;Installing executable &quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">UnqualComponentName -&gt; String
forall a. Pretty a =&gt; a -&gt; String
</span><a href="Distribution.Pretty.html#prettyShow"><span class="hs-identifier hs-var">prettyShow</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Executable -&gt; UnqualComponentName
</span><a href="Distribution.Types.Executable.html#exeName"><span class="hs-identifier hs-var hs-var">exeName</span></a></span><span> </span><span class="annot"><span class="annottext">Executable
</span><a href="#local-6989586621679721110"><span class="hs-identifier hs-var">exe</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-204"></span><span>                      </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot; in &quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721099"><span class="hs-identifier hs-var">binPref</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-205"></span><span>    </span><span id="local-6989586621679721087"><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621679721087"><span class="hs-identifier hs-var">inPath</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">String -&gt; IO Bool
</span><a href="Distribution.Simple.Utils.html#isInSearchPath"><span class="hs-identifier hs-var">isInSearchPath</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721099"><span class="hs-identifier hs-var">binPref</span></a></span><span>
</span><span id="line-206"></span><span>    </span><span class="annot"><span class="annottext">Bool -&gt; IO () -&gt; IO ()
forall (f :: * -&gt; *). Applicative f =&gt; Bool -&gt; f () -&gt; f ()
</span><a href="../../base/src/GHC.Base.html#when"><span class="hs-identifier hs-var">when</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool -&gt; Bool
</span><span class="hs-identifier hs-var">not</span></span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621679721087"><span class="hs-identifier hs-var">inPath</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">(IO () -&gt; IO ()) -&gt; IO () -&gt; IO ()
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span>
</span><span id="line-207"></span><span>      </span><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; IO ()
</span><a href="Distribution.Simple.Utils.html#warn"><span class="hs-identifier hs-var">warn</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679721114"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;The directory &quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721099"><span class="hs-identifier hs-var">binPref</span></a></span><span>
</span><span id="line-208"></span><span>                      </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot; is not in the system search path.&quot;</span></span><span class="hs-special">)</span><span>
</span><span id="line-209"></span><span>    </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Compiler -&gt; CompilerFlavor
</span><a href="Distribution.Simple.Compiler.html#compilerFlavor"><span class="hs-identifier hs-var">compilerFlavor</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">LocalBuildInfo -&gt; Compiler
</span><a href="Distribution.Types.LocalBuildInfo.html#compiler"><span class="hs-identifier hs-var hs-var">compiler</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679721112"><span class="hs-identifier hs-var">lbi</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-210"></span><span>      </span><span class="annot"><span class="annottext">CompilerFlavor
</span><a href="Distribution.Compiler.html#GHC"><span class="hs-identifier hs-var">GHC</span></a></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Verbosity
-&gt; LocalBuildInfo
-&gt; String
-&gt; String
-&gt; (String, String)
-&gt; PackageDescription
-&gt; Executable
-&gt; IO ()
</span><a href="Distribution.Simple.GHC.html#installExe"><span class="hs-identifier hs-var">GHC.installExe</span></a></span><span>   </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679721114"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679721112"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721099"><span class="hs-identifier hs-var">binPref</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721106"><span class="hs-identifier hs-var">buildPref</span></a></span><span> </span><span class="annot"><span class="annottext">(String, String)
</span><a href="#local-6989586621679721089"><span class="hs-identifier hs-var">progFix</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679721113"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">Executable
</span><a href="#local-6989586621679721110"><span class="hs-identifier hs-var">exe</span></a></span><span>
</span><span id="line-211"></span><span>      </span><span class="annot"><span class="annottext">CompilerFlavor
</span><a href="Distribution.Compiler.html#GHCJS"><span class="hs-identifier hs-var">GHCJS</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Verbosity
-&gt; LocalBuildInfo
-&gt; String
-&gt; String
-&gt; (String, String)
-&gt; PackageDescription
-&gt; Executable
-&gt; IO ()
</span><a href="Distribution.Simple.GHCJS.html#installExe"><span class="hs-identifier hs-var">GHCJS.installExe</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679721114"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679721112"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721099"><span class="hs-identifier hs-var">binPref</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721106"><span class="hs-identifier hs-var">buildPref</span></a></span><span> </span><span class="annot"><span class="annottext">(String, String)
</span><a href="#local-6989586621679721089"><span class="hs-identifier hs-var">progFix</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679721113"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">Executable
</span><a href="#local-6989586621679721110"><span class="hs-identifier hs-var">exe</span></a></span><span>
</span><span id="line-212"></span><span>      </span><span class="annot"><span class="annottext">CompilerFlavor
</span><a href="Distribution.Compiler.html#UHC"><span class="hs-identifier hs-var">UHC</span></a></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">() -&gt; IO ()
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-213"></span><span>      </span><span class="annot"><a href="Distribution.Compiler.html#HaskellSuite"><span class="hs-identifier hs-type">HaskellSuite</span></a></span><span> </span><span class="hs-special">{</span><span class="hs-special">}</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">() -&gt; IO ()
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-214"></span><span>      </span><span class="annot"><span class="annottext">CompilerFlavor
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; IO ()
forall a. Verbosity -&gt; String -&gt; IO a
</span><a href="Distribution.Simple.Utils.html#die%27"><span class="hs-identifier hs-var">die'</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679721114"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">(String -&gt; IO ()) -&gt; String -&gt; IO ()
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;installing with &quot;</span></span><span>
</span><span id="line-215"></span><span>              </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">CompilerFlavor -&gt; String
forall a. Pretty a =&gt; a -&gt; String
</span><a href="Distribution.Pretty.html#prettyShow"><span class="hs-identifier hs-var">prettyShow</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Compiler -&gt; CompilerFlavor
</span><a href="Distribution.Simple.Compiler.html#compilerFlavor"><span class="hs-identifier hs-var">compilerFlavor</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">LocalBuildInfo -&gt; Compiler
</span><a href="Distribution.Types.LocalBuildInfo.html#compiler"><span class="hs-identifier hs-var hs-var">compiler</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679721112"><span class="hs-identifier hs-var">lbi</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-216"></span><span>              </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot; is not implemented&quot;</span></span><span>
</span><span id="line-217"></span><span>
</span><span id="line-218"></span><span class="hs-comment">-- Nothing to do for benchmark/testsuite</span><span>
</span><span id="line-219"></span><span class="annot"><a href="Distribution.Simple.Install.html#copyComponent"><span class="hs-identifier hs-var">copyComponent</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Types.Component.html#CBench"><span class="hs-identifier hs-type">CBench</span></a></span><span> </span><span class="annot"><span class="annottext">Benchmark
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">CopyDest
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">() -&gt; IO ()
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-220"></span><span class="annot"><a href="Distribution.Simple.Install.html#copyComponent"><span class="hs-identifier hs-var">copyComponent</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Types.Component.html#CTest"><span class="hs-identifier hs-type">CTest</span></a></span><span> </span><span class="annot"><span class="annottext">TestSuite
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">CopyDest
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">() -&gt; IO ()
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-221"></span><span>
</span><span id="line-222"></span><span class="hs-comment">-- | Install the files listed in data-files</span><span>
</span><span id="line-223"></span><span class="hs-comment">--</span><span>
</span><span id="line-224"></span><span class="annot"><a href="Distribution.Simple.Install.html#installDataFiles"><span class="hs-identifier hs-type">installDataFiles</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Verbosity.html#Verbosity"><span class="hs-identifier hs-type">Verbosity</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.PackageDescription.html#PackageDescription"><span class="hs-identifier hs-type">PackageDescription</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">IO</span></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-225"></span><span id="installDataFiles"><span class="annot"><span class="annottext">installDataFiles :: Verbosity -&gt; PackageDescription -&gt; String -&gt; IO ()
</span><a href="Distribution.Simple.Install.html#installDataFiles"><span class="hs-identifier hs-var hs-var">installDataFiles</span></a></span></span><span> </span><span id="local-6989586621679721081"><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679721081"><span class="hs-identifier hs-var">verbosity</span></a></span></span><span> </span><span id="local-6989586621679721080"><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679721080"><span class="hs-identifier hs-var">pkg_descr</span></a></span></span><span> </span><span id="local-6989586621679721079"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721079"><span class="hs-identifier hs-var">destDataDir</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-226"></span><span>  </span><span class="annot"><span class="annottext">((String -&gt; IO ()) -&gt; [String] -&gt; IO ())
-&gt; [String] -&gt; (String -&gt; IO ()) -&gt; IO ()
forall a b c. (a -&gt; b -&gt; c) -&gt; b -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#flip"><span class="hs-identifier hs-var">flip</span></a></span><span> </span><span class="annot"><span class="annottext">(String -&gt; IO ()) -&gt; [String] -&gt; IO ()
forall (t :: * -&gt; *) (f :: * -&gt; *) a b.
(Foldable t, Applicative f) =&gt;
(a -&gt; f b) -&gt; t a -&gt; f ()
</span><a href="../../base/src/Data.Foldable.html#traverse_"><span class="hs-identifier hs-var">traverse_</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">PackageDescription -&gt; [String]
</span><a href="Distribution.Types.PackageDescription.html#dataFiles"><span class="hs-identifier hs-var hs-var">dataFiles</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679721080"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">((String -&gt; IO ()) -&gt; IO ()) -&gt; (String -&gt; IO ()) -&gt; IO ()
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span> </span><span id="local-6989586621679721075"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721075"><span class="hs-identifier hs-var">glob</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-227"></span><span>    </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679721074"><span class="annot"><span class="annottext">srcDataDirRaw :: String
</span><a href="#local-6989586621679721074"><span class="hs-identifier hs-var hs-var">srcDataDirRaw</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">PackageDescription -&gt; String
</span><a href="Distribution.Types.PackageDescription.html#dataDir"><span class="hs-identifier hs-var hs-var">dataDir</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679721080"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span>
</span><span id="line-228"></span><span>        </span><span id="local-6989586621679721071"><span class="annot"><span class="annottext">srcDataDir :: String
</span><a href="#local-6989586621679721071"><span class="hs-identifier hs-var hs-var">srcDataDir</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">String -&gt; Bool
forall (t :: * -&gt; *) a. Foldable t =&gt; t a -&gt; Bool
</span><a href="../../base/src/Data.Foldable.html#null"><span class="hs-identifier hs-var">null</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721074"><span class="hs-identifier hs-var">srcDataDirRaw</span></a></span><span>
</span><span id="line-229"></span><span>          </span><span class="hs-keyword">then</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;.&quot;</span></span><span>
</span><span id="line-230"></span><span>          </span><span class="hs-keyword">else</span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721074"><span class="hs-identifier hs-var">srcDataDirRaw</span></a></span><span>
</span><span id="line-231"></span><span>    </span><span id="local-6989586621679721070"><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679721070"><span class="hs-identifier hs-var">files</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Verbosity -&gt; CabalSpecVersion -&gt; String -&gt; String -&gt; IO [String]
</span><a href="Distribution.Simple.Glob.html#matchDirFileGlob"><span class="hs-identifier hs-var">matchDirFileGlob</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679721081"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">PackageDescription -&gt; CabalSpecVersion
</span><a href="Distribution.Types.PackageDescription.html#specVersion"><span class="hs-identifier hs-var hs-var">specVersion</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679721080"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721071"><span class="hs-identifier hs-var">srcDataDir</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721075"><span class="hs-identifier hs-var">glob</span></a></span><span>
</span><span id="line-232"></span><span>    </span><span class="annot"><span class="annottext">[String] -&gt; (String -&gt; IO ()) -&gt; IO ()
forall (t :: * -&gt; *) (f :: * -&gt; *) a b.
(Foldable t, Applicative f) =&gt;
t a -&gt; (a -&gt; f b) -&gt; f ()
</span><a href="../../base/src/Data.Foldable.html#for_"><span class="hs-identifier hs-var">for_</span></a></span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679721070"><span class="hs-identifier hs-var">files</span></a></span><span> </span><span class="annot"><span class="annottext">((String -&gt; IO ()) -&gt; IO ()) -&gt; (String -&gt; IO ()) -&gt; IO ()
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span> </span><span id="local-6989586621679721067"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721067"><span class="hs-identifier hs-var">file'</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-233"></span><span>      </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679721066"><span class="annot"><span class="annottext">src :: String
</span><a href="#local-6989586621679721066"><span class="hs-identifier hs-var hs-var">src</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721071"><span class="hs-identifier hs-var">srcDataDir</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
</span><a href="../../filepath/src/System.FilePath.Windows.html#%3C%2F%3E"><span class="hs-operator hs-var">&lt;/&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721067"><span class="hs-identifier hs-var">file'</span></a></span><span>
</span><span id="line-234"></span><span>          </span><span id="local-6989586621679721065"><span class="annot"><span class="annottext">dst :: String
</span><a href="#local-6989586621679721065"><span class="hs-identifier hs-var hs-var">dst</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721079"><span class="hs-identifier hs-var">destDataDir</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
</span><a href="../../filepath/src/System.FilePath.Windows.html#%3C%2F%3E"><span class="hs-operator hs-var">&lt;/&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721067"><span class="hs-identifier hs-var">file'</span></a></span><span>
</span><span id="line-235"></span><span>      </span><span class="annot"><span class="annottext">Verbosity -&gt; Bool -&gt; String -&gt; IO ()
</span><a href="Distribution.Simple.Utils.html#createDirectoryIfMissingVerbose"><span class="hs-identifier hs-var">createDirectoryIfMissingVerbose</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679721081"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; String
</span><a href="../../filepath/src/System.FilePath.Windows.html#takeDirectory"><span class="hs-identifier hs-var">takeDirectory</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721065"><span class="hs-identifier hs-var">dst</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-236"></span><span>      </span><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; String -&gt; IO ()
</span><a href="Distribution.Simple.Utils.html#installOrdinaryFile"><span class="hs-identifier hs-var">installOrdinaryFile</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679721081"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721066"><span class="hs-identifier hs-var">src</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721065"><span class="hs-identifier hs-var">dst</span></a></span><span>
</span><span id="line-237"></span><span>
</span><span id="line-238"></span><span class="hs-comment">-- | Install the files listed in install-includes for a library</span><span>
</span><span id="line-239"></span><span class="hs-comment">--</span><span>
</span><span id="line-240"></span><span class="annot"><a href="Distribution.Simple.Install.html#installIncludeFiles"><span class="hs-identifier hs-type">installIncludeFiles</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Verbosity.html#Verbosity"><span class="hs-identifier hs-type">Verbosity</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.BuildInfo.html#BuildInfo"><span class="hs-identifier hs-type">BuildInfo</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.LocalBuildInfo.html#LocalBuildInfo"><span class="hs-identifier hs-type">LocalBuildInfo</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">IO</span></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-241"></span><span id="installIncludeFiles"><span class="annot"><span class="annottext">installIncludeFiles :: Verbosity
-&gt; BuildInfo -&gt; LocalBuildInfo -&gt; String -&gt; String -&gt; IO ()
</span><a href="Distribution.Simple.Install.html#installIncludeFiles"><span class="hs-identifier hs-var hs-var">installIncludeFiles</span></a></span></span><span> </span><span id="local-6989586621679721064"><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679721064"><span class="hs-identifier hs-var">verbosity</span></a></span></span><span> </span><span id="local-6989586621679721063"><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679721063"><span class="hs-identifier hs-var">libBi</span></a></span></span><span> </span><span id="local-6989586621679721062"><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679721062"><span class="hs-identifier hs-var">lbi</span></a></span></span><span> </span><span id="local-6989586621679721061"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721061"><span class="hs-identifier hs-var">buildPref</span></a></span></span><span> </span><span id="local-6989586621679721060"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721060"><span class="hs-identifier hs-var">destIncludeDir</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-242"></span><span>    </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679721059"><span class="annot"><span class="annottext">relincdirs :: [String]
</span><a href="#local-6989586621679721059"><span class="hs-identifier hs-var hs-var">relincdirs</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;.&quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; [String] -&gt; [String]
forall a. a -&gt; [a] -&gt; [a]
</span><span class="hs-glyph hs-var">:</span></span><span> </span><span class="annot"><span class="annottext">(String -&gt; Bool) -&gt; [String] -&gt; [String]
forall a. (a -&gt; Bool) -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.List.html#filter"><span class="hs-identifier hs-var">filter</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; Bool
</span><a href="../../filepath/src/System.FilePath.Windows.html#isRelative"><span class="hs-identifier hs-var">isRelative</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">BuildInfo -&gt; [String]
</span><a href="Distribution.Types.BuildInfo.html#includeDirs"><span class="hs-identifier hs-var hs-var">includeDirs</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679721063"><span class="hs-identifier hs-var">libBi</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-243"></span><span>        </span><span id="local-6989586621679721057"><span class="annot"><span class="annottext">incdirs :: [String]
</span><a href="#local-6989586621679721057"><span class="hs-identifier hs-var hs-var">incdirs</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo -&gt; String
</span><a href="#local-6989586621679721056"><span class="hs-identifier hs-var">baseDir</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679721062"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
</span><a href="../../filepath/src/System.FilePath.Windows.html#%3C%2F%3E"><span class="hs-operator hs-var">&lt;/&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721055"><span class="hs-identifier hs-var">dir</span></a></span><span> </span><span class="hs-glyph">|</span><span> </span><span id="local-6989586621679721055"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721055"><span class="hs-identifier hs-var">dir</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679721059"><span class="hs-identifier hs-var">relincdirs</span></a></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-244"></span><span>                  </span><span class="annot"><span class="annottext">[String] -&gt; [String] -&gt; [String]
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721061"><span class="hs-identifier hs-var">buildPref</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
</span><a href="../../filepath/src/System.FilePath.Windows.html#%3C%2F%3E"><span class="hs-operator hs-var">&lt;/&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721054"><span class="hs-identifier hs-var">dir</span></a></span><span> </span><span class="hs-glyph">|</span><span> </span><span id="local-6989586621679721054"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721054"><span class="hs-identifier hs-var">dir</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679721059"><span class="hs-identifier hs-var">relincdirs</span></a></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-245"></span><span>    </span><span id="local-6989586621679721053"><span class="annot"><span class="annottext">[(String, String)]
</span><a href="#local-6989586621679721053"><span class="hs-identifier hs-var">incs</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">(String -&gt; IO (String, String))
-&gt; [String] -&gt; IO [(String, String)]
forall (t :: * -&gt; *) (f :: * -&gt; *) a b.
(Traversable t, Applicative f) =&gt;
(a -&gt; f b) -&gt; t a -&gt; f (t b)
</span><a href="../../base/src/Data.Traversable.html#traverse"><span class="hs-identifier hs-var">traverse</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">[String] -&gt; String -&gt; IO (String, String)
</span><a href="#local-6989586621679721051"><span class="hs-identifier hs-var">findInc</span></a></span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679721057"><span class="hs-identifier hs-var">incdirs</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">BuildInfo -&gt; [String]
</span><a href="Distribution.Types.BuildInfo.html#installIncludes"><span class="hs-identifier hs-var hs-var">installIncludes</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679721063"><span class="hs-identifier hs-var">libBi</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-246"></span><span>    </span><span class="annot"><span class="annottext">[IO ()] -&gt; IO ()
forall (t :: * -&gt; *) (m :: * -&gt; *) a.
(Foldable t, Monad m) =&gt;
t (m a) -&gt; m ()
</span><a href="../../base/src/Data.Foldable.html#sequence_"><span class="hs-identifier hs-var">sequence_</span></a></span><span>
</span><span id="line-247"></span><span>      </span><span class="hs-special">[</span><span> </span><span class="hs-keyword">do</span><span> </span><span class="annot"><span class="annottext">Verbosity -&gt; Bool -&gt; String -&gt; IO ()
</span><a href="Distribution.Simple.Utils.html#createDirectoryIfMissingVerbose"><span class="hs-identifier hs-var">createDirectoryIfMissingVerbose</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679721064"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721049"><span class="hs-identifier hs-var">destDir</span></a></span><span>
</span><span id="line-248"></span><span>           </span><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; String -&gt; IO ()
</span><a href="Distribution.Simple.Utils.html#installOrdinaryFile"><span class="hs-identifier hs-var">installOrdinaryFile</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679721064"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721048"><span class="hs-identifier hs-var">srcFile</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721047"><span class="hs-identifier hs-var">destFile</span></a></span><span>
</span><span id="line-249"></span><span>      </span><span class="hs-glyph">|</span><span> </span><span class="hs-special">(</span><span id="local-6989586621679721046"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721046"><span class="hs-identifier hs-var">relFile</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679721048"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721048"><span class="hs-identifier hs-var">srcFile</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">[(String, String)]
</span><a href="#local-6989586621679721053"><span class="hs-identifier hs-var">incs</span></a></span><span>
</span><span id="line-250"></span><span>      </span><span class="hs-special">,</span><span> </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679721047"><span class="annot"><span class="annottext">destFile :: String
</span><a href="#local-6989586621679721047"><span class="hs-identifier hs-var hs-var">destFile</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721060"><span class="hs-identifier hs-var">destIncludeDir</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
</span><a href="../../filepath/src/System.FilePath.Windows.html#%3C%2F%3E"><span class="hs-operator hs-var">&lt;/&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721046"><span class="hs-identifier hs-var">relFile</span></a></span><span>
</span><span id="line-251"></span><span>            </span><span id="local-6989586621679721049"><span class="annot"><span class="annottext">destDir :: String
</span><a href="#local-6989586621679721049"><span class="hs-identifier hs-var hs-var">destDir</span></a></span></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; String
</span><a href="../../filepath/src/System.FilePath.Windows.html#takeDirectory"><span class="hs-identifier hs-var">takeDirectory</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721047"><span class="hs-identifier hs-var">destFile</span></a></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-252"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-253"></span><span>   </span><span id="local-6989586621679721056"><span class="annot"><span class="annottext">baseDir :: LocalBuildInfo -&gt; String
</span><a href="#local-6989586621679721056"><span class="hs-identifier hs-var hs-var">baseDir</span></a></span></span><span> </span><span id="local-6989586621679721043"><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679721043"><span class="hs-identifier hs-var">lbi'</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; Maybe String -&gt; String
forall a. a -&gt; Maybe a -&gt; a
</span><a href="../../base/src/Data.Maybe.html#fromMaybe"><span class="hs-identifier hs-var">fromMaybe</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;&quot;</span></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; String
</span><a href="../../filepath/src/System.FilePath.Windows.html#takeDirectory"><span class="hs-identifier hs-var">takeDirectory</span></a></span><span> </span><span class="annot"><span class="annottext">(String -&gt; String) -&gt; Maybe String -&gt; Maybe String
forall (f :: * -&gt; *) a b. Functor f =&gt; (a -&gt; b) -&gt; f a -&gt; f b
</span><a href="../../base/src/Data.Functor.html#%3C%24%3E"><span class="hs-operator hs-var">&lt;$&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo -&gt; Maybe String
</span><a href="Distribution.Types.LocalBuildInfo.html#cabalFilePath"><span class="hs-identifier hs-var hs-var">cabalFilePath</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679721043"><span class="hs-identifier hs-var">lbi'</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-254"></span><span>   </span><span id="local-6989586621679721051"><span class="annot"><span class="annottext">findInc :: [String] -&gt; String -&gt; IO (String, String)
</span><a href="#local-6989586621679721051"><span class="hs-identifier hs-var hs-var">findInc</span></a></span></span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span>         </span><span id="local-6989586621679721037"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721037"><span class="hs-identifier hs-var">file</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; IO (String, String)
forall a. Verbosity -&gt; String -&gt; IO a
</span><a href="Distribution.Simple.Utils.html#die%27"><span class="hs-identifier hs-var">die'</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679721064"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;can't find include file &quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721037"><span class="hs-identifier hs-var">file</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-255"></span><span>   </span><span class="annot"><a href="#local-6989586621679721051"><span class="hs-identifier hs-var">findInc</span></a></span><span> </span><span class="hs-special">(</span><span id="local-6989586621679721036"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721036"><span class="hs-identifier hs-var">dir</span></a></span></span><span class="annot"><span class="hs-glyph hs-type">:</span></span><span id="local-6989586621679721035"><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679721035"><span class="hs-identifier hs-var">dirs</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679721034"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721034"><span class="hs-identifier hs-var">file</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-256"></span><span>     </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679721033"><span class="annot"><span class="annottext">path :: String
</span><a href="#local-6989586621679721033"><span class="hs-identifier hs-var hs-var">path</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721036"><span class="hs-identifier hs-var">dir</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
</span><a href="../../filepath/src/System.FilePath.Windows.html#%3C%2F%3E"><span class="hs-operator hs-var">&lt;/&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721034"><span class="hs-identifier hs-var">file</span></a></span><span>
</span><span id="line-257"></span><span>     </span><span id="local-6989586621679721032"><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621679721032"><span class="hs-identifier hs-var">exists</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">String -&gt; IO Bool
</span><a href="../../directory/src/System.Directory.html#doesFileExist"><span class="hs-identifier hs-var">doesFileExist</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721033"><span class="hs-identifier hs-var">path</span></a></span><span>
</span><span id="line-258"></span><span>     </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621679721032"><span class="hs-identifier hs-var">exists</span></a></span><span> </span><span class="hs-keyword">then</span><span> </span><span class="annot"><span class="annottext">(String, String) -&gt; IO (String, String)
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721034"><span class="hs-identifier hs-var">file</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721033"><span class="hs-identifier hs-var">path</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-keyword">else</span><span> </span><span class="annot"><span class="annottext">[String] -&gt; String -&gt; IO (String, String)
</span><a href="#local-6989586621679721051"><span class="hs-identifier hs-var">findInc</span></a></span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679721035"><span class="hs-identifier hs-var">dirs</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679721034"><span class="hs-identifier hs-var">file</span></a></span><span>
</span><span id="line-259"></span></pre></body></html>